boost library 1.44.0 build on windows


[환경]

- Windows XP + SP3 , Windows 7
- Visual Studio 2005 , Visual Studio 2008
(위 환경은 본인이 집과 회사에서 사용하는 개발 환경이다.)


[준비물]

물론, 아래의 준비물이 꼭 다 필요한 것은 아니다.
boost library는 매우 다양한 종류의 라이브러리들이 모여 있으며,
컴파일이 필요없는 #define 매크로 형태에서부터 Template Meta Programming 형태, 
그리고 시스템 종속성으로 인해 컴파일이 필요한 형태까지 다양하다.
아래의 준비물 들은 boost를 통째로 컴파일 하기 위한 환경이며,
boost의 구성물을 선별적으로 사용하고자 한다면,
홈페이지의 Getting Started 를 참고하여 
자신이 필요한 라이브러리가 컴파일이 필요한지
필요하다면 아래의 라이브러리들에 종속성이 있는지를 확인하여 사용하는 것이 좋다.
컴파일이 필요한 라이브러리들은 개별 메뉴얼에 컴파일 방법이 소개되어 있다.

boost library source files (1.44.0)
홈페이지는 여기 , 다운로드 페이지는 여기 , 다운로드 링크는 여기

boost jam (3.1.18)
다운로드 링크는 여기

bzip2 library (1.0.6)
홈페이지는 여기 , 다운로드 페이지는 여기 , 다운로드 링크는 여기

zlib (1.2.5)
홈페이지는 여기 , 다운로드 링크는 여기

icu (icu4c 4.4.2)
홈페이지는 여기 , 다운로드 페이지는 여기 , 다운로드 링크는 여기

python (2.5.5)
홈페이지는 여기 , 다운로드 페이지는 여기 , 다운로드 링크는 여기

7-zip command line tool (9.20)
홈페이지는 여기 , 다운로드 페이지는 여기 , 다운로드 링크는 여기


[파일 및 폴더 구성]

아래는 본인이 애용하는 빌드 자동화를 위한 폴더 및 파일 구조를 나타낸 것이다.
설치 시에 뒤에 오는 배치파일을 분석하여 본인 취향대로 수정해도 무방하다.
볼드체가 폴더명이다.

~/boost_1_44_0
         build_1_44_0
              arc
                   boost_1_44_0.7z
                   bzip2-1.0.6.tar.gz
                   icu4c-4_4_2-src.zip
                   Python-2.5.5.tgz
                   zlib-1.2.5.tar.gz
              bin
                   7za.exe
                   bjam.exe
         build.2005.bat
         build.2008.bat


[배치파일 만들기]

위 파일들이 모두 갖추어졌다면 아래와 같은 내용의 배치파일을 만든다.
본인은 build.2005.bat 과 build.2008.bat 라는 이름으로 배치파일을 만들었다.
두 배치파일의 차이는 아래 볼드체로 표시된 두 부분이 전부이다.
(Visual Studio 2008을 쓴다면 8.0 → 9.0 , 2005 → 2008 로 변경하면 된다.)
각자 자신의 컴파일러에 맞게 수정하여 사용하면 되며 본인은 둘 모두를 사용하기에 
두 개의 배치파일을 만들었다.

set path=%path%;%cd%\bin;
7za x -o"%cd%\tmp" arc\zlib-1.2.5.tar.gz 
7za x -o"%cd%\tmp" "%cd%\tmp\zlib-1.2.5.tar"
7za x -o"%cd%\tmp" arc\bzip2-1.0.6.tar.gz 
7za x -o"%cd%\tmp" "%cd%\tmp\bzip2-1.0.6.tar"
7za x -o"%cd%\tmp" arc\Python-2.5.5.tgz
7za x -o"%cd%\tmp" "%cd%\tmp\Python-2.5.5.tar"
7za x -o"%cd%\tmp" arc\icu4c-4_4_2-src.zip 
7za x -o"%cd%\tmp" arc\boost_1_44_0.7z 
set ZLIB_SOURCE="%cd%\tmp\zlib-1.2.5"
set BZIP2_SOURCE="%cd%\tmp\bzip2-1.0.6"
set PYTHON_ROOT="%cd%\tmp\Python-2.5.5"
set PYTHON_VERSION=2.5
set ICU_PATH="%cd%\tmp\icu\source\common"
pushd tmp\boost_1_44_0
bjam --prefix=%cd%\..\..\.. --toolset=msvc-8.0 --build-type=complete debug release warnings=off --without-mpi install
popd
move %cd%\..\lib %cd%\..\lib.2005
rmdir /s /q tmp


[인스톨]

마지막으로 위의 배치파일을 실행시키면 boost_1_44_0 폴더 하위에
include와 lib.2005 폴더가 생길 것이다.
생성되는 두 폴더를 가져다 사용하면 된다.


[끝으로]

원래 계획은 1.44.0 버전에 대한 설치 방법을 포스팅 할 계획은 없었다.
그러나 1.45.0 빌드 환경에 약간의 문제가 있고,
후에 수정될 계획이라고는 하나 
현재로써는 해당 문제를 회피하기 위한 잡다구레한 방법이 필요하다.
때문에, 1.45.0 빌드 방법을 보이기에 앞서 클린한 상태에 대해서도 보이고 싶었다.
매우 작은 차이겠지만, 이후 포스팅 될 1.45.0 빌드 방법과 비교해 보는 것도 좋을 듯 하다.


현재 빌드에는 boost.MPI 는 포함되어 있지 않다.
언젠가는 포함 하겠지만, 당장 필요도 없고 바쁜 관계로 무기한 보류 중이다.

현재 Python은 2.x와 3.x로 양분되어 있으며,
2.x도 2.5 , 2.6 , 2.7 세 가지 버전이 혼재되어 쓰이고 있다.
본인은 현재 가장 널리 쓰이며 호환성 문제가 없는 2.5를 기준으로 빌드하였다.
사용자는 자기가 원하는 버전을 이용하면 되겠다.

'open source > boost' 카테고리의 다른 글

How to build the C++ boost library 1.54.0 on windows  (0) 2013.08.15
boost library 1.45.0 build on windows  (0) 2010.12.29
boost library  (0) 2010.12.28